package com.ruoyi.lyy.domain.pojo;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

/**
 * <p>
 * 订单表
 * </p>
 *
 * @author YueYang
 * @since 2025-11-18
 */
@TableName("`order`")
public class Order implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 订单编号
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 核销码【UUID产生、唯一】
     */
    private String verificationCode;

    /**
     * 核销码图片
     */
    private String verificationImg;

    /**
     * 服务编号id
     */
    private Integer serviceId;

    /**
     * 服务类别id 1洗车 2维修 3保养
     */
    private Integer serviceTypeId;

    /**
     * 下单时间
     */
    private LocalDateTime orderTime;

    /**
     * 预约时间
     */
    private LocalDateTime reservationTime;

    /**
     * 订单车辆id号
     */
    private Integer carId;

    /**
     * 优惠卷id【每次只用使用一张】
     */
    private Integer couponId;

    /**
     * 实付价格
     */
    private Float price;

    /**
     * 支付状态 0未支付 1已支付
     */
    private Integer payStatus;

    /**
     * 支付时间
     */
    private LocalDateTime payTime;

    /**
     * 订单状态 0待支付 1已取消 2已退款3.待核销4.已完成
     */
    private Integer status;

    /**
     * 删除状态 0未删除 1已删除
     */
    private Integer deleted;

    /**
     * 是否评价 0未评价 1已评价
     */
    private Integer evaluate;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }
    public String getVerificationCode() {
        return verificationCode;
    }

    public void setVerificationCode(String verificationCode) {
        this.verificationCode = verificationCode;
    }
    public String getVerificationImg() {
        return verificationImg;
    }

    public void setVerificationImg(String verificationImg) {
        this.verificationImg = verificationImg;
    }
    public Integer getServiceId() {
        return serviceId;
    }

    public void setServiceId(Integer serviceId) {
        this.serviceId = serviceId;
    }
    public Integer getServiceTypeId() {
        return serviceTypeId;
    }

    public void setServiceTypeId(Integer serviceTypeId) {
        this.serviceTypeId = serviceTypeId;
    }
    public LocalDateTime getOrderTime() {
        return orderTime;
    }

    public void setOrderTime(LocalDateTime orderTime) {
        this.orderTime = orderTime;
    }
    public LocalDateTime getReservationTime() {
        return reservationTime;
    }

    public void setReservationTime(LocalDateTime reservationTime) {
        this.reservationTime = reservationTime;
    }
    public Integer getCarId() {
        return carId;
    }

    public void setCarId(Integer carId) {
        this.carId = carId;
    }
    public Integer getCouponId() {
        return couponId;
    }

    public void setCouponId(Integer couponId) {
        this.couponId = couponId;
    }
    public Float getPrice() {
        return price;
    }

    public void setPrice(Float price) {
        this.price = price;
    }
    public Integer getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }
    public LocalDateTime getPayTime() {
        return payTime;
    }

    public void setPayTime(LocalDateTime payTime) {
        this.payTime = payTime;
    }
    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
    public Integer getDeleted() {
        return deleted;
    }

    public void setDeleted(Integer deleted) {
        this.deleted = deleted;
    }
    public Integer getEvaluate() {
        return evaluate;
    }

    public void setEvaluate(Integer evaluate) {
        this.evaluate = evaluate;
    }
    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }
    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }
    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return "Order{" +
            "id=" + id +
            ", verificationCode=" + verificationCode +
            ", verificationImg=" + verificationImg +
            ", serviceId=" + serviceId +
            ", serviceTypeId=" + serviceTypeId +
            ", orderTime=" + orderTime +
            ", reservationTime=" + reservationTime +
            ", carId=" + carId +
            ", couponId=" + couponId +
            ", price=" + price +
            ", payStatus=" + payStatus +
            ", payTime=" + payTime +
            ", status=" + status +
            ", deleted=" + deleted +
            ", evaluate=" + evaluate +
            ", createBy=" + createBy +
            ", createTime=" + createTime +
            ", updateBy=" + updateBy +
            ", updateTime=" + updateTime +
        "}";
    }
}
